package cn.gcjxsc.common.data.notify.redpack;

import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

/**
 * 红包发送数据.
 *
 * @author pumbaa
 * @since 1.0
 */
public class RedPackData {
    /**
     * openid
     */
    @NotEmpty(message = "openid不能为空")
    private String openid;
    /**
     * 红包金额.单位份
     */
    @NotNull(message = "无效金额")
    @Min(value = 100, message = "金额最低1元")
    @Max(value = 20000, message = "金额最大200元")
    private Integer amount;
    /**
     * 店铺名称
     */
    @NotEmpty(message = "店铺名称不能为空")
    private String storeName;
    /**
     * 订单号
     */
    @NotEmpty(message = "订单号不能为空")
    private String sn;
    /**
     * 备注信息
     */
    private String remark;
    /**
     * 红包类型
     * @see cn.gcjxsc.common.consts.RedPackType
     */
    @NotNull(message = "类型不能为空")
    private Integer type;
    /**
     * 店铺id
     */
    @NotNull(message = "店铺不能为空")
    private Integer storeId;
    /**
     * 签名
     */
    private String sign;

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getStoreId() {
        return storeId;
    }

    public void setStoreId(Integer storeId) {
        this.storeId = storeId;
    }

    public String getOpenid() {
        return openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

    public Integer getAmount() {
        return amount;
    }

    public void setAmount(Integer amount) {
        this.amount = amount;
    }

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    public String getSn() {
        return sn;
    }

    public void setSn(String sn) {
        this.sn = sn;
    }
}
